﻿using UnityEngine.Events;

namespace Anderson.PluginFramework
{
    public enum FrameworkEventType
    {
        WindowMinimize,
        WindowRestore,        
        AllPluginsLoaded,
        AppQuit
    }

    public class FrameworkEventArg
    {
        private FrameworkEventType m_state;

        public FrameworkEventType State
        {
            get
            {
                return m_state;
            }

            set
            {
                m_state = value;
            }
        }

        public FrameworkEventArg(FrameworkEventType state)
        {
            State = state;
        }
    }

    [System.Serializable]
    public class FrameworkEvent : UnityEvent<FrameworkEventArg>
    {
    }

}
